module jinji.common.type;

debug (APIDoc) {
    public import dast.gen.tsapi : summary, type;
} else {
    struct type { // @suppress(dscanner.style.phobos_naming_convention)
        string name;
    }

    /// The summary of the function.
    struct summary { // @suppress(dscanner.style.phobos_naming_convention)
        string content;
    }
}

/// 正整数ID
enum Id : long {
	empty = 0,
}

/// 哈希值
alias Hash = ubyte[32];

/// C字符串
alias Cstr = const(char)[];

/// 路径
alias Path = string;

/// 标准时间戳（hnsecs）
enum StdTime : long {
	zero = 0,
	/// 1970-01-01T00:00:00Z
	Epoch = 621_355_968_000_000_000,
}

/// ETime时间戳（秒）
enum ETime : uint {
	zero = 0,
	/// 2025-01-01T00:00:00Z
	Epoch = 638_712_864,
}

/// 名称
enum Name : string {
	empty = null,
}

/// 描述
enum Desc : string {
	nil = null,
	empty = "",
}

/// 标签名
enum TagName : string {
	empty = null,
}

/// 标签串
enum Tags : string {
	empty = null,
}
